1. Technical Field
The present disclosure relates to managing storage systems.
2. Related Art
A storage system typically includes one or more storage devices where information is stored. The storage system may be implemented in accordance with a variety of storage architectures including, but not limited to, a network-attached storage environment, a storage area network and a disk assembly directly attached to a client or host computer. The storage devices are typically disk drives organized as a disk array, wherein the term “disk” commonly describes a self-contained rotating magnetic media storage device. The term disk in this context is synonymous with hard disk drive (HDD) or direct access storage device (DASD).
The storage system typically includes a storage operating system that organizes the system. The storage operating system may implement a high-level module, for example, a file system, to logically organize information stored on storage volumes as a hierarchical structure of data containers, such as files and logical units. For example, each “on-disk” file may be implemented as set of data structures, i.e., disk blocks, configured to store information, such as the actual data for the file. These data blocks are organized within a volume block number (VBN) space that is maintained by the file system.
In order to improve reliability and to facilitate disaster recovery in the event of a failure within the storage system, it is common to replicate, some or all of the underlying data and/or the file system that organizes that data from a source storage volume associated with a primary storage system or server to one or more remote storage destinations (i.e. secondary storage).
One way to replicate a source storage volume is to create a “Snapshot” at a primary storage system and then copy data from the snapshot to another location (secondary storage), for example, a remote location. Typically, an application (may be referred to as a volume snap mirror application (“VSM”)) copies data from the snapshot to the remote location. The term “Snapshot” in this context means a persistent point in time (PPT) image of an active file system that enables quick recovery of data after data has been corrupted, lost, or altered.
Typically, to replicate snapshots, the file system receives a request for information. The file system manages and controls a plurality of memory buffers. The file system assigns some of the plurality of memory buffers to the VSM. The buffers assigned to the VSM may be referred to as “stolen buffers”.
The file system first moves information from a storage volume to some of the plurality of memory buffers. Information from the memory buffers is then copied to one or more stolen buffers. VSM then accesses the information from the stolen buffers so that it can be replicated. The dual copy operation (i.e. from storage volume to memory buffer and then from memory buffer to stolen buffer) can waste storage server computing resources. Continuous efforts are being made to optimize storage server resource usage.